package com.platform.dao;

import com.platform.entity.CreatWxuserOrderDto;
import com.platform.entity.CreateWxuserOrderGoodsDto;
import com.platform.entity.OrderVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author zhanghao
 */
public interface ApiOrderMapper extends BaseDao<OrderVo> {

    /**
     * 根据订单编号查询订单
     *
     * @param order_sn
     * @return
     */
    OrderVo queryObjectByOrderSn(@Param("orderSn") String order_sn);

    /**
     * 创建订单
     */
    int create(CreatWxuserOrderDto order);

    /**
     * 创建订单商品关系
     */
    int createOrderGoods(CreateWxuserOrderGoodsDto orderGoods);

    /**
     * 取消订单
     */
    int cancel(@Param("order_sn") String order_sn, @Param("user_id") Integer user_id);

    /**
     * 商户取消订单
     */
    int shopCancel(@Param("order_sn") String order_sn, @Param("shopId") Integer shopId);

    /**
     * 更新订单支付信息
     */
    int updatePayInfo(OrderVo orderVo);
    /**
     * 更新订单提现状态
     */
    int updateTranStatus(@Param("order_sn") String order_sn);

    /**
     * 更新订单支付信息
     */
    int updateSucc(OrderVo orderVo);

    /**
     * 查询用户所有订单
     */
    List<OrderVo> queryOrderList(@Param("user_id") Integer user_id);

    /**
     * 查询所有进货订单
     */
    List<OrderVo> queryAdminOrderList(@Param("user_id") Integer user_id);


    /**
     * 根据shopId查询所有订单
     */
    List<OrderVo> queryAllOrderByShopId(@Param("shopId") Integer shopId);


}
